元素可以省略结束标签
史博辉 2022-10-17 00:07:00 html
HTML5 显得十分宽容,它允许部分 HTML 元素省略结束标签,甚至允许 HTML 元素同时省略开始标签和结束标签。具体来说,HTML5 中的省略标签可分为如下3种情况。
1.空元素语法的元素
空元素语法的元素有 area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、wbr。
这些空元素标签不允许将开始标签和结束标签分开定义。例如,<img.../>元素不允许写成如下形式:
<img src="a.gif" alt="a"></img>
<img.../>元素应该是空元素,因此它可以写成如下形式:
<img src="a.gif" alt="a"/>
与此同时,HTML5 并不要求遵守 XML 规范,因此<img...>元素写成如下形式也是正确的:
<img src="a.gif" alt="a">
2.可以省略结束标签的元素
可以省略结束标签的元素有 colgroup、dt、dd、li、optgroup、option、p、rt、rp、thead、tbody、tfoot、tr、td、th。
这种语法纯属向以前那些不规范的 HTML 页面妥协,例如如下写法:
<p>
疯狂 Java 讲义
</p>
上面代码中<p...>元素只有开始标签,没有结束标签。这在以前是不符合规范的,但在 HTML5 中就是符合规范的。
3.可以省略全部标签的元素
可以省略全部标签的元素有 html、head、body、colgroup、tbody。
例如,给出如下的 HTML 页面。
<!DOCTYPE html>
<title>test</title>
<p>
<ol>
<li>aaaa
<li>bbbb
<li>ccccc
<img src="a.gif" alt="a"/>
</ol>
</p>
上面页面中完全没有<html...>、<head...>和<body...>这三个元素,且<p.../>、<li.../>元素都只有开始标签,没有结束标签,但这个页面是符合 HTML5 规范的。